From ae491193d1fb9650a59bf28bb8655e6bedee974a Mon Sep 17 00:00:00 2001 From: "awilliam@xenbuild.aw" Date: Tue, 9 May 2006 11:33:29 -0600 Subject: [PATCH] [IA64] xen: hypercall no clean up use __HYERCALL_arch_0 for dom0vp hypercall. Signed-off-by: Isaku Yamahata --- xen/arch/ia64/xen/hypercall.c | 34 +++++++++++++++++++++++++++------- xen/include/public/arch-ia64.h | 5 +---- 2 files changed, 28 insertions(+), 11 deletions(-) diff --git a/xen/arch/ia64/xen/hypercall.c b/xen/arch/ia64/xen/hypercall.c index 8b83db3e7b..fdaaa439a6 100644 --- a/xen/arch/ia64/xen/hypercall.c +++ b/xen/arch/ia64/xen/hypercall.c @@ -71,7 +71,33 @@ hypercall_t ia64_hypercall_table[] = (hypercall_t)do_ni_hypercall, /* */ /* 30 */ (hypercall_t)do_ni_hypercall, /* */ (hypercall_t)do_event_channel_op, - (hypercall_t)do_physdev_op + (hypercall_t)do_physdev_op, + (hypercall_t)do_ni_hypercall, /* */ + (hypercall_t)do_ni_hypercall, /* */ /* 35 */ + (hypercall_t)do_ni_hypercall, /* */ + (hypercall_t)do_ni_hypercall, /* */ + (hypercall_t)do_ni_hypercall, /* */ + (hypercall_t)do_ni_hypercall, /* */ + (hypercall_t)do_ni_hypercall, /* */ /* 40 */ + (hypercall_t)do_ni_hypercall, /* */ + (hypercall_t)do_ni_hypercall, /* */ + (hypercall_t)do_ni_hypercall, /* */ + (hypercall_t)do_ni_hypercall, /* */ + (hypercall_t)do_ni_hypercall, /* */ /* 45 */ + (hypercall_t)do_ni_hypercall, /* */ + (hypercall_t)do_ni_hypercall, /* */ +#ifdef CONFIG_XEN_IA64_DOM0_VP + (hypercall_t)do_dom0vp_op, /* dom0vp_op */ +#else + (hypercall_t)do_ni_hypercall, /* arch_0 */ +#endif + (hypercall_t)do_ni_hypercall, /* arch_1 */ + (hypercall_t)do_ni_hypercall, /* arch_2 */ /* 50 */ + (hypercall_t)do_ni_hypercall, /* arch_3 */ + (hypercall_t)do_ni_hypercall, /* arch_4 */ + (hypercall_t)do_ni_hypercall, /* arch_5 */ + (hypercall_t)do_ni_hypercall, /* arch_6 */ + (hypercall_t)do_ni_hypercall /* arch_7 */ /* 55 */ }; uint32_t nr_hypercalls = @@ -91,12 +117,6 @@ xen_hypercall (struct pt_regs *regs) regs->r18, regs->r19); else -#ifdef CONFIG_XEN_IA64_DOM0_VP - if (cmd == __HYPERVISOR_ia64_dom0vp_op) - regs->r8 = do_dom0vp_op(regs->r14, regs->r15, regs->r16, - regs->r17, regs->r18); - else -#endif regs->r8 = -ENOSYS; return 1; diff --git a/xen/include/public/arch-ia64.h b/xen/include/public/arch-ia64.h index 87bdbc745a..a37de91c0e 100644 --- a/xen/include/public/arch-ia64.h +++ b/xen/include/public/arch-ia64.h @@ -329,10 +329,7 @@ typedef struct vcpu_guest_context { DEFINE_XEN_GUEST_HANDLE(vcpu_guest_context_t); // dom0 vp op -#define __HYPERVISOR_ia64_dom0vp_op 256 // XXX sufficient large - // TODO - // arch specific hypercall - // number conversion +#define __HYPERVISOR_ia64_dom0vp_op __HYPERVISOR_arch_0 #define IA64_DOM0VP_ioremap 0 // map io space in machine // address to dom0 physical // address space. -- 2.30.2